package week03;

import java.util.HashMap;
import java.util.Map;
//由于都是单位分数，所以第一个被除数为1，如果被除数小于除数，则需要将被除数进一位再去除，
//所得余数为下一次除法中的被除数。如此循环下去，直到新出现的被除数在我们建立的列表中已经出现过了，
//之后的计算会重复之前的模式
public class T026 {
	public static int getCycleLength(int n) {
		Map<Integer, Integer> map = new HashMap<>();
		int state = 1;
		for(int i=0;;i++) {
			if(map.containsKey(state)) {
				return i - map.get(state);
			}else {
				map.put(state, i);
				state=state*10%n;
				if(state==0) return 0;
			}
		}
	}
	public static void run() {
		int max=0,len=0,flag=0;
		for(int i=2;i<1000;i++) {
			len=getCycleLength(i);
			if(len>max) {
				max=len;
				flag=i;
			}
		}
		System.out.println(flag);
	}
	public static void main(String[] args) {
		run();
	}
}
